Python 数据类型

前言

在Python中,常见的数据类型有:数值型number,布尔型bool,字符串str,元组tuple,列表list,集合set,字典dict等。下面将对比java数据类型一一介绍。

数值型number

数值型number,包括:整形int,长整形long,浮点数型:float,复数complex类型。Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

intValue = 100
longValue = 100L
floatValue = 100.00

布尔型bool

在Python2.7以下版本,是没有布尔类型bool类型的,都是使用1和0来代表True或False的,而在Python3.0版本以上才出现的。

bool1 = True
bool2 = False

# 输出:True
print(bool1 == 1)

# 输出:False
print(bool2 == 0)

字符串str

任何一种语言都有字符串类型,Python也不例外,这里只是简单介绍在Python语言中,对字符串常见的操作的使用。


# 单引号或双引号都行
mystr = "lipan"

mystr = 'lipan'

# 字符串拼接
print(mystr + ', welcome to python!')

# 获取字符串的长度
print(len(mystr))

# * 重复输出字符串,输出:lipanlipan
print(mystr * 2)

# 通过索引获取字符串中字符,输出:i
print(mystr[1])

# 截取字符串中的一部分,输出:pan
print(mystr[2:len(mystr)])

# 字符串中包含给定的子字符串串返回 True
print('li' in mystr)

# 字符串中不包含给定的子字符串串返回 True
print('li' not in mystr)

# 在字符串前使用r或R,将字符串原样输出,包括转义字符,\r\n等,输出:lipan\r\n
print(r'lipan\r\n')
或者
print(R'lipan\r\n')

# 以xxx开始或结束
print(mystr.startswith('li'))
print(mystr.endswith('pan'))

# 字符串大小写转换
print('大写:', mystr.upper())
print('小写:', mystr.lower())

# 子字符串替换
print(mystr.replace('pan', 'dan'))

元组tuple

元组tuple,类似于java中的数组Array,初始化时指定数组的长度。

# 创建一个空的元组
mytuple = ()

# 创建一个元组tuple
mytuple = ('lipan', 26, '广东深圳')

# 获取索引处元素值
print(mytuple[0], mytuple[1], mytuple[2])

# 判断元组长度
len(mytuple)

# 遍历元组tuple
for item in mytuple:
print(item)

列表list

列表List,类似于java中的List,有序但不保证元素重复,和元组tuple的区别是元素个数是可以动态添加和删除的。

# 创建一个列表list
mylist = ['li', 'pan', 'panpan']

# 在指定索引处,插入元素
mylist.insert(1, "lipan")

# 在列表末尾,追加元素
mylist.append("lipan")

# 弹出列表指定索引处元素并删除
mylist.pop(1)

# 删除列表中指定元素,不存在则报错,存在多个相同元素则仅删除第一个
mylist.remove("lipan")

# 清空列表
mylist.clear()

# 获取列表元素个数
len(mylist)

# list遍历的元素
for item in mylist:
print("列表中的元素:", item)

集合set

集合set,类似于java中的Set,无序并保证元素不会重复。

# 创建一个集合set
mylist = ['lipan', 26, '广东深圳']
myset = set(mylist) 或 myset = set(['lipan', 26, '广东深圳'])

# 添加元素,自动去重
myset.add("lipan")

# 删除元素
myset.remove(26)

# 清空集合
myset.clear()

# 获取集合元素个数
len(myset)

# 遍历元素,无序的
for value in myset:
print(value)

字典dict

字典dict,类似于java中的Map,以Key:Value形式存储数据。

# 创建一个字典dict
mydict = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

# 获取字段中的指定key对应的值
mydict['Michael'] 或 mydict.get('Michael') 或 如果不存在返回默认值的mydict.get('xxx', 80)

# 添加元素Key-Value
mydict[Key] = Value

# 修改元素值Key-Value
mydict[Key] = Value

# 删除指定元素Key
mydict.pop('Michael')

# 获取字典dict长度
len(mydict)

# 清空字典
mydict.clear()

# 遍历字典dict-keys
for key in d.keys():
print("key:", key, ", value:", d[key])

或者
for item in d.items():
print("key:", item[0], ", value:", item[1])

# 遍历字典dict-values
for value in d.values():
print(value)